/**
  CNOK project, Anyang Normal University, IMP-CAS
  \brief Calculate inclusive momentum distribution of one-nucleon knockout residue
  \author SUN Yazhou, asia.rabbit@163.com
  \since 2022/06/23
  \date Last modified: 2022/06/23 by SUN Yazhou
  \copyright 2020-2023 SUN Yazhou
  \copyright CNOK project, Anyang Normal University, IMP-CAS
*/

#include <vector>
#include "TANuMom.h"

using std::vector;

static const int FNNPAR = 0; // 0: Horiuchi; 1: LenziRay
static const bool PAULI = false; // 0: off; 1: on
// static const double EK = 2100.; // incident energy: MeV/nucleon

int main(int argc, char const *argv[]){
  vector<TANuMom *> ov;
  TANuMom *t;

  // C15 //
  ov.push_back(t = new TANuMom(15));
  t->SetBaseDir("config/C/C15");
  t->SetOrbit({"0p1/2_0-", "0p1/2_1-", "0p3/2_1-", "0p3/2_2-",
  	"0d5/2_2+", "1s1/2_0+_1", "1s1/2_0+_2"});
  t->SetEx({6.9026, 6.0938, 6.0938, 7.341, 7.012, 0., 6.5894});
  t->SetC2S({0.410, 1.015, 0.086, 0.006, 0.004, 0.953, 0.007});

  // C16 //
  ov.push_back(t = new TANuMom(16));
  t->SetBaseDir("config/C/C16");
  t->SetOrbit({"0d5/2_5/2+", "1s1/2_1/2+"});
  t->SetEx({0.740, 0.});
  t->SetC2S({1.167, 0.734});


  for(auto &t : ov){
    // t->SetPauli(PAULI);
    // t->SetEk(EK);
    // t->SetFNNParOpt(FNNPAR);

    if(t->GetA() == 16.){
      t->SetIsConv(true);
      t->Mom();
    }
  } // end for

  return 0;
} // end the main function
